﻿using System;
using System.Collections.Generic;
using System.Text;
using ASBCC.Workflow.K2Manager;

namespace ASBCC.Workflow.Client
{
    public class WorkflowKeyConsts
    {
        public const string ActionType = "ActionType";
        public const string Comment = "Comment";
        public const string CurrentUserId = "CurrentUserId";
        public const string CurrentUserEn = "CurrentUserEn";
        public const string CurrentUserCn = "CurrentUserCn";
        public const string DelegateFromId = "DelegateFromId";
        public const string DelegateFromEn = "DelegateFromEn";
        public const string DelegateFromCn = "DelegateFromCn";

        public const string AskformoreProcInstID = "AskformoreProcInstID";

        public const string AuditDestinationAssgined = "AuditDestinationAssgined";

        // Key of XmlField - Common
        public const string AuditDestination = K2Consts.XmlField_Key_AuditDestination;


        // Key of DataField - Common
        public const string FormUrl = K2Consts.DataField_Key_FormURL;

        public const string ModuleName = "ModuleName";

        public const string CODPPCheckPerson = "CODPPCheckPerson";
        public const string CODPPManager = "CODPPManager";

        public const string PDC = "PDC";
        public const string CODPPManagerDone = "0";
        public const string PDCDone = "0";
    }

    public class ActivityNameConsts
    {
        public const string Start = "Start";
        public const string Submission = "Submission";
        public const string Request = "Request";
        public const string End = "End";
        public const string PostSubmission = "Post Trip";
        public const string Closed = "Closed";
    }
    public enum FlowFlag
    {
         Normal,
         Suspend
    }
    public class ProcessStatusConsts
    {
        public const string Draft = "Draft";
        public const string Submitted = "Submitted";
        public const string Approved = "Approved";
        public const string Acknowledge = "Acknowledge";
        public const string Validate = "Validate";
        public const string PostSubmitted = "PostSubmitted";
        public const string Reviewed = "Reviewed";
        public const string Rejected = "Rejected";
        public const string Discarded = "Discarded";
        public const string Withdrawn = "Withdrawn";
        public const string Drawbacked = "Drawbacked";
        public const string AskedForMore = "Asked for more";
        public const string RepliedAskForMore = "Replied asking for more";
        public const string Forwarded = "Forwarded";
        public const string ForwardedBack = "Forwarded back";
        public const string RepliedForwardBack = "Replied forwarding back";
        public const string End = "End";
    }

    public class AppFormStatusConsts
    {
        public const string Draft = "Draft"; //草稿
        public const string InProcess = "In Process"; //提交之后，流程结束之前
        public const string Withdrawn = "Withdrawn"; //被提交人撤回
        public const string Rejected = "Rejected"; //被审批人拒绝
        public const string AskedForMore = "Asked for More"; //被要求更多
        public const string Discarded = "Discarded"; //被作废
        public const string End = "Approved"; //流程结束
    }

    public class AppFormUrlKeyConsts
    {
        public const string Random = "rdm";
    }

    public class AuditUserSourceConsts
    {
        public const string Applicant = "Applicant";
        public const string ReportTo = "ReportTo";
        public const string User = "User";
        public const string Role = "Role";
        public const string Customization = "Customization";
    }
    public class ProcNameConsts
    {
        public const string PreCQ = "PreCQ";
        public const string TQ = "TQ";
        public const string IQ = "IQ";
    }
}
